/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package CapaDatos;

import java.util.Random;

/**
 *
 * @author Usuario
 */
public class Reserva {

 /** atributo de tipo Cliente**/
    private Cliente elCliente;

 /** atributo de tipo Habitacion**/
    private Habitacion laHabitacion;

  /** atributo que guarda la fecha de inicio de la reserva**/
    private String fechaInicio;

 /** atributo que guarda la fehca de fin de la reserva**/
    private String fechaFin;

 /** atributo que guarda el ID de la reserva**/
    private int ID;

 /** atributo que guarda el monto de la reserva**/
    private double monto;

 /** atributo de tipo ListaInvitado**/
    private ListaInvitado losInvitados;


    /**
     * constructor de la clase Reserva
     * @param elCliente objeto de tipo Cliente
     * @param fechaInicio fecha de inicio de la reserva
     * @param fechaFin fecha de culmino de la reserva
     * @param ID el ID de la reserva
     * @param losInvitados los invitados de la reserva
     */
    public Reserva(Cliente elCliente, String fechaInicio, String fechaFin, int ID,ListaInvitado losInvitados) {
        this.elCliente = elCliente;
        this.fechaInicio = fechaInicio;
        this.fechaFin = fechaFin;
        this.ID = ID;
        this.losInvitados = losInvitados;
    }


    /** constructor de la clase Reserva**/
    public Reserva()
    {

    }

    /**
     * constructor de la clase Reserva
     * @param elCliente objeto de tipo Cliente
     * @param fechaInicio fecha de inicio de la reserva
     * @param fechaFin fecha de culmino de la reserva
     */

    public Reserva(Cliente elCliente, String fechaInicio, String fechaFin) {
        this.elCliente = elCliente;
        this.fechaInicio = fechaInicio;
        this.fechaFin = fechaFin;
    }

    /**
     * contructor de la clase Reserva
     * @param elCliente objeto de tipo Cliente
     * @param fechaInicio fecha de inicio de la reserva
     * @param fechaFin fecha de culmino de la reserva
     * @param ID Id de la reserva
     */

    public Reserva(Cliente elCliente, String fechaInicio, String fechaFin, int ID) {
        this.elCliente = elCliente;
        this.fechaInicio = fechaInicio;
        this.fechaFin = fechaFin;
        this.ID = ID;
    }

    /**
     * @return the elCliente
     */
    public Cliente getElCliente() {
        return elCliente;
    }

    /**
     * @param elCliente the elCliente to set
     */
    public void setElCliente(Cliente elCliente) {
        this.elCliente = elCliente;
    }

    /**
     * @return the laHabitacion
     */
    public Habitacion getLaHabitacion() {
        return laHabitacion;
    }

    /**
     * @param laHabitacion the laHabitacion to set
     */
    public void setLaHabitacion(Habitacion laHabitacion) {
        this.laHabitacion = laHabitacion;
    }

    /**
     * @return the fechaInicio
     */
    public String getFechaInicio() {
        return fechaInicio;
    }

    /**
     * @param fechaInicio the fechaInicio to set
     */
    public void setFechaInicio(String fechaInicio) {
        this.fechaInicio = fechaInicio;
    }

    /**
     * @return the fechaFin
     */
    public String getFechaFin() {
        return fechaFin;
    }

    /**
     * @param fechaFin the fechaFin to set
     */
    public void setFechaFin(String fechaFin) {
        this.fechaFin = fechaFin;
    }

    /**
     * @return the ID
     */
    public int getID() {
        return ID;
    }

    /**
     * @param ID the ID to set
     */
    public void setID(int ID) {
        this.ID = ID;
    }

    /**
     * @return the monto
     */
    public double getMonto() {
        return monto;
    }

    /**
     * @param monto the monto to set
     */
    public void setMonto(double monto) {
        this.monto = monto;
    }

    /**
     * @return the losInvitados
     */
    public ListaInvitado getLosInvitados() {
        return losInvitados;
    }

    /**
     * @param losInvitados the losInvitados to set
     */
    public void setLosInvitados(ListaInvitado losInvitados) {
        this.losInvitados = losInvitados;
    }


/**firma para generar id de reserva*/
    public void generarId(int cont,int arrayId[])
    {
        boolean indicador=true;
        int x=0,cont2=0;
     Random random=new Random ();

  while (cont2<500 && indicador==true)
  {
   indicador=false;
   x= random.nextInt(500);
    for (int i=cont-1;i>=0;i--)
     if (arrayId[i]==x)
      indicador=true;

    if (indicador==false)
    {
      arrayId[cont]=x;
      setID (x);
    }
   else
    cont2++;
 }
}

}